/*
 * @Descripttion:
 * @version:
 * @Author: lily
 * @Date: 2021-04-03 17:14:04
 * @LastEditors: lily
 * @LastEditTime: 2021-04-03 17:53:24
 */
/**
 * @param {number[][]} matrix
 * @param {number} target
 * @return {boolean}
 */
//  思路：
//  从二维数组的右上角开始查找。
//  如果当前元素等于目标值，则返回 true。
//  如果当前元素大于目标值，则移到左边一列。
//  如果当前元素小于目标值，则移到下边一行。

//  复杂度：O(n+m)  O(1)

var findNumberIn2DArray = function (matrix, target) {
    if (!matrix.length) return false;
    let len1 = matrix.length, len2 = matrix[0].length
    let x = 0, y = len2 - 1
    while (x < len1 && y >= 0) {
        if (matrix[x][y] === target) {
            return true
        } else if (matrix[x][y] < target) {
            x++
        } else {
            y--
        }
    }
    return false
};


let arr = [[-5]]


console.log(findNumberIn2DArray(arr, -5));